package com.hyl.service.weixin;

import com.hyl.domain.vo.WeixinTemplateMessageVO;
import com.hyl.domain.req.WeixinQrCodeReq;
import com.hyl.domain.res.WeixinQrCodeRes;
import com.hyl.domain.res.WeixinTokenRes;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 *
 */
public interface WeixinApiService {

    /**
     * 获取token
     * @param grantType 获取access凭证
     * @param appid 第三方用户唯一凭证
     * @param appsecret 第三方用户唯一凭证密钥
     * @return 获取相应的结果
     */
    @POST("cgi-bin/token")
    Call<WeixinTokenRes> getToken(@Query("grant_type")String grantType,
                                  @Query("appid") String appid,
                                  @Query("secret") String appsecret);
    @POST("cgi-bin/qrcode/create")
    Call<WeixinQrCodeRes> createQrCode(@Query("access_token") String accessToken, @Body WeixinQrCodeReq weixinQrCodeReq);


    /**
     * 发送微信公众号模板消息
     * 文档：https://mp.weixin.qq.com/debug/cgi-bin/readtmpl?t=tmplmsg/faq_tmpl
     *
     * @param accessToken              getToken 获取的 token 信息
     * @param weixinTemplateMessageVO 入参对象
     * @return 应答结果
     */
    @POST("cgi-bin/message/template/send")
    Call<Void> sendMessage(@Query("access_token") String accessToken, @Body WeixinTemplateMessageVO weixinTemplateMessageVO);

}
